/**
 * @author wangdx
 * @since 2025/8/1
 */
public class ErrorCodeDemo {
    // 错误码方式（便签记录）：繁琐且不直观
    public static int makeCoffee1(String type) {
        if ("拿铁".equals(type) && !hasMilk()) {
            return -1; // 错误码：-1 代表牛奶不足
        }
        return 0; // 成功
    }

    // 异常方式（电子工单）：清晰且包含上下文
    public static void makeCoffee(String type) throws MilkNotFoundException {
        if ("拿铁".equals(type) && !hasMilk()) {
            throw new MilkNotFoundException("牛奶不足，无法制作拿铁"); // 异常对象包含详细信息
        }
    }

    private static class MilkNotFoundException extends Throwable {
        public MilkNotFoundException(String s) {
            super(s);
        }
    }


    private static boolean hasMilk() {
        return false;
    }
}
